.
IfritZone
 
 
Техника перевода приставочных игр на русский язык ©2003 IfritZ

Введение
1. Что необходимо для перевода?
2. Hex-редактор. Для чего он нужен и какой выбрать?
3. Редактор графики/тайлов. Для чего он нужен и какой выбрать?
4. Работа со шрифтом:
4.1. Поиск текста.
4.2. Поиск шрифта.
4.3. Создание таблицы шрифта.
4.4. Перерисовка шрифта.
4.5. Создание новой таблицы.
5. Перевод текста:
5.1. Прямой перевод.
5.2. Перевод текста, вынутого из РОМа.
6. Что такое DTE?
7. Что такое MTE?
8. Что такое пойнтеры?

Введение

Однажды, кажется в самом конце 90-х, я забрел на сайт команды переводчиков приставочных игр "Шедевр". Помню, всю шла работа над переводом Final Fintasy V на SNES. Тогда я и понятия не имел, что переводить игры с приставок вообще можно. Являясь большим поклонником консольных игр и в особенности РПГ, я тоже возгорел желанием заняться переводом. Не имея ни малейшего понятия, как это делать, я накачал с сайта необходимые программы и инструкции, написанные самими Шедевровцами. Сказать откровенно, я мало что понял, отчасти от того, что тогда вообще был мало знаком с компьютерами, hex-кодами, тайлами и т.п. Единственное, на что меня хватило, так это в редакторе тайлов перерисовать какую-то надпись, заменив ее на собственное имя :)
Все остальное показалось мне сложным и непонятным. К тому же, на работе появилось много дел, интернет отключили, а дома меня ждала верная PlayStation и целая очередь непройденных РПГ к ней... и я забыл о переводе надолго.
Прошло четыре года. Много воды утекло... Дома я обзавелся компьютером и попытавшись зайти на сайт Шедевра, обнаружил, что он закрыт. Кое-как раздобыл документацию Шедевра, но это были все те же сырые материалы. Перелопатив кучу англоязычных доков, я все-таки понял основные принципы перевода.
В конце 2003 года "Шедевр" снова открылся, но там так и висели малопонятные сырые материалы, в которых новичку трудно разобраться. Тогда я и решил написать этот документ. Я попытался как-можно доступнее объяснить суть и технику перевода, основываясь целиком на собственном опыте.
Я предполагаю, что Вы имеете представление о шестнадцатиричной системе исчисления, хорошо знаете русский язык, также знаете английский (или тот, с которого собрались переводить).


1.Что необходимо для перевода?

- Желание
В первую очередь, игра должна нравиться, мало того, нужно всем сердцем и душой полюбить игру, которую возникло желание перевести. Иначе лучше даже не браться.

- Терпение
Да, надо запастись огромным терпением. Это дело не пяти минут и не терпит спешки и суеты. Придется смириться, что на перевод может уйти несколько месяцев, а то и годы (если взяться за крупный проект), хотя есть игры, которые имея определенный навык можно перевести за пару дней. Это при услевии, что в ней мало текста, и нет проблем с хакингом.

- Знание языка. Желательно ХОРОШЕЕ знание языка. Если Вы переводите, что называется, "со словарем"(Стилусом, Промптом и т.д.), лучше сначала попрактикуйтесь в изучении разговорного языка без словаря прежде, чем заниматься переводом игр. Нужно знать, про что, собственно, игра, понимать диалоги, обороты речи, шутки и тому подобное. А также хорошее знание РУССКОГО языка! Не стоить браться за перевод, чтобы потом краснеть за свое невежество и безграмотность.

- Инструменты: hex-редактор и редактор графики/тайлов.
По большому счету, нужны лишь две программы: hex-редактор и редактор графики/тайлов.

- Эмулятор приставки, для которой предназначен РОМ.


2.Hex-редактор. Для чего он нужен и какой выбрать?

Hex-редактор - программа, необходимая для нахождения текста в РОМе игры.
Выбор зависит от Вашего вкуса. Редакторов множество. Я пользуюсь простым, но надежным DOS-редактором Hexposure. По-моему, он как никакой другой подходит для начинающих и не только. Из win-редакторов могу порекомендовать Translexicon и российский продукт GoldFinger. Последний, по мнению не только наших переводчиков, но и их зарубежных коллег, чуть ли не лучший!


3.Редактор графики/тайлов. Для чего он нужен и какой выбрать?

Редактор графики/тайлов - программа, предназначенная для изменения шрифта игры и редактирования графики.
Их также великое множество. Я пользуюсь Tile Layer Pro и иногда YY-CHR. В последнее время появилась мода на новый java-редактор Tile Molester, которому предписывают огромные возможности. Ничего не скажу, потому что не работал с ним.


4.Работа со шрифтом:


4.1.Поиск текста.

Итак, допустим, что есть все необходимое: РОМ с игрой, hex-редактор и редактор графики. Вы знакомы с игрой и прошли ее (желательно не один раз)! Первым делом открываете РОМ в hex-редакторе. В любом hex-редакторе есть функция relative search (поиск совпадений). Это полезная функция, позволяющая найти какие-либо присутствующие в игре слова, фразы и, в итоге, весь текст. Введите в поле поиска какое-нибудь слово, встреченное в игре, и редактор начнет поиск. Слово должно обязательно присутствовать в тексте игры и НЕ должно начинаться с заглавной буквы. Дело в том, что вся информация в РОМе содержится в виде шестнадцатиричных чисел. Соответственно, и каждая буква алфавита будет соответствовать определенному шестнадцатиричному значению. Редактор перебирает все возможные варианты комбинации зтих значений во введенном слове. В случае успешного поиска, редактор предложит построить таблицу шрифтов. Таблица составляется опять же на основе поиска. Всегда (за редким исключением) буквы алфавита идут в РОМе по порядку, и редактору не составляет труда выстроить их в виде таблицы шрифтов.
Если поиск неуспешен, это плохой признак, но не стоит отчаиваться. Проверьте, правильно ли введено слово, попробуйте другое, третье... Если результата нет, успокойтесь. Вам не суждено перевести эту игру, если только вы не знаете Ассемблера.
Если слово найдено, то вы увидите, в редакторе появилось не только искомое слово, но и отобразился большая часть остального текста:


4.2.Поиск шрифта

Теперь откройте РОМ в графическом редакторе и внимательно изучите беспорядочный набор разноцветных тайлов. Цель - найти нарисованный шрифт. Смотрите внимательно! Обнаружите примерно следующее:

Если найти шрифт не удалось, попробуйте поменять формат на 1-BPP или еще какой-нибудь. Если и это не помогло - ваши дела плохи. Скорее всего, что шрифт запакован, и на переводе данной игры придется поставить крест.
Если шрифт найден, переходите к созданию таблицы.


4.3.Создание таблицы шрифта

Откройте файл таблицы в обычном текстовом редакторе. (Учтите, что если таблица создана DOS'овским hex-редактором, то редактировать таблицу нужно в DOS'овском текстовом редакторе. Если в Windows, то, подойдет стандартный Win-блокнот). Вот примерно, что там будет:

A4=a
A5=b
A6=c
A7=d
A8=e
A9=f
...и т.д.
Здесь показан код и какой букве он принадлежит.

Теперь надо добавить в эту таблицу код пробела, это очень поможет при переводе. Найдите в hex-редакторе место между словами одного предложения. В этом месте будет стоять точка (редактор помечает все незнакомые символы точками). Это и есть пробел. Посмотрите ее шестнадцатиричный код (например, пусть это будет 00) и внесите в таблицу, для удобства поставив его в самое начало:

00=
A4=a
A5=b
A6=c
A7=d
A8=e
A9=f
...и т.д.

(Не забудьте поставить в таблице после знака = пробел.)

Теперь надо вычислить коды ЗАГЛАВНЫХ букв. Если Вы поняли принцип, как мы нашли код пробела, то это не составит труда. Скажем в игре есть фраза [Welcome back, Luna!], в редакторе видим фразу [.elcome back..una.]. Итак, видим, что точка перед elcome - это W. Смотрим код и вносим в таблицу, тоже самое с L, хотя зная код уже одной буквы, можно построить сразу всю таблицу заглавных букв (ведь они идут по порядку!). Таким же образом найдите коды знаков препинания. Накопив опыта, можно строить таблицы лишь взглянув в графическом редакторе, в какой последовательности идут все буквы и знаки препинания.
Теперь, имея под рукой таблицу, снова откройте РОМ в редакторе, чтобы он уже сопоставил коды с расшифровкой, созданной вами в таблице. Теперь текст в редакторе выглядит совсем по другому. Он удобочитаем и в нем уже не так много непонятных точек.
Что же это за точки, попадающиеся между словами и предложениями? Все просто - это так называемые коды переноса. Они указывают, когда следует перенести вывод предложения/фразы на следующую строку так, чтобы она не вылезла за экран и тому подобное. Найдите в игре какое-нибудь предложение, которое перенесено на экране на другую строку. Запомните это предложение и место переноса. Найдите это место в hex-редакторе и узнаете код переноса. Допустим это FF. Чтобы редактор мог опознать код переноса, внесите его в таблицу следующим образом.

*=FF

Есть еще код окончания вывода текста. Желательно и его вычислить, чтобы знать наверняка, где заканчивается один диалог/реплика и начинается новый. Обозначается он знаком "/". Например,

/=FE

Таблица готова. Теперь если вы снова откроете РОМ уже с готовой таблицей, то увидите вот что:

Сравните с тем, что было до этого и, как говорится, почувствуйте разницу.

Замечание. Что делать, если найден не один, а два или более шрифтов? Необходимо выяснить, какой из них для чего служит. Возможно, один - для меню, второй - для диалогов и т.п.
Если найдено несколько одинаковых шрифтов, то определить, какой из них для чего служит, можно экспериментальным путем. В редакторе графики измените некоторые буквы первого шрифта и посмотреть, как это отразилось в игре. Затем то же самое проделать со вторым шрифтом и т.д. Если применяются разные шрифты, не исключено, что придется построить несколько таблиц и переводить меню, диалоги и т.д. по очереди.


4.4.Перерисовка шрифта

Итак, таблица шрифта создана. Теперь можно приступать к изменению самого РОМа. Первым пунктом в этом деле идет перерисовка шрифтов. Но для начала надо проделать следующее. Допустим есть РОМ под названием game.nes и созданная Вами таблица с таким же именем game.tbl. Скопируйте оба файла и дайте дубликатам другие названия, например, game1.nes и game1.tbl. Теперь вы будете работать с новым файлом game1.nes, а оригинал должен остаться неизменным.
Шрифт Вы уже нашли, так что можно приступить к перерисовке. Не думаю, что это вызовет какие-то затруднения, но хочу дать несколько советов.
- Сохраняйте при перерисовке оригинальный стиль шрифта! Даже очень хороший перевод может быть испорчен кое-как и наспех перерисованным шрифтом, который будет просто неприятно читать. Сделать шрифт лучше у Вас вряд ли получится (исключение - некоторые старые игры, например, на NES - там можно постараться и лучше сделать).
- Используйте уже готовые латинские буквы, которые можно использовать в русском алфавите. Вот их перечень:
А В С Е Н К М Н О Р Т Х
- Обязательно запомните, а лучше запишите, какую букву на какую Вы поменяли (это необходимо для создания новой таблицы шрифта).
- Вы неизбежно столкнетесь с нехваткой свободного места. В русском алфавите 33 буквы, в латинском - 26. Как решить эту проблему? Тут придется пойти на некоторые ухищрения.
Исключите букву (ё). Если текста мало, можно попробовать исключить (ъ). Не используйте заглавные буквы Й Ё Ь Ы Ъ (это если в игре нет текста, состоящего из ЗАГЛАВНЫХ букв). Если в игре часто используется текст, написанный заглавными буквами, можете взять на себя смелость и написать его обычным. Однако, проверьте, не скажется ли это на смысловой нагрузке данного текста.
Также в целях экономии можно пойти на такую хитрость, как использование вместо заглавной буквы (О) цифры ноль, а вместо заглавной буквы (З) - цифры 3. Но ни в коем случае не поступайте наоборот! Исключите апостроф ('), его не придется применять.


4.5.Создание новой таблицы.

Пришло время создать новую таблицу шрифта, теперь уже русского. Это очень просто. Вы же не забыли записать, какую латинскую букву при перерисовке какой русской заменили? Прекрасно! Теперь в файле таблицы game1.tbl делаем соответствующие замены и сохраняем. Еще раз напомню: если hex-редактор DOS'овский - таблица должна быть в DOS'е; если в Win - в windows.

5.Перевод текста

(продолжение следует)

Назад
 
© 2003-2004 IfritZ Последнее обновление 26.03.04